import java.math.BigDecimal;

public class BigDecimalMethod2 {
    public static void main(String[] args) {
        //先定义了两个基本数据类型，我们知道
        //0.1 + 0.2 在double 类型运行是不精确的
        double data1 = 0.1;
        double data2 = 0.2;

        //直接调用Double类中的静态方法toString()，
        //转变为字符串
        String s1 = Double.toString(data1);
        String s2 = Double.toString(data2);

        //利用有参数的构造器，传入字符串创建对象
        BigDecimal b1 = new BigDecimal(s1);
        BigDecimal b2 = new BigDecimal(s2);

        //BigDecimal类中的实例方法 add()方法，
        //将两个BigDecimal类型相加
        BigDecimal c = b1.add(b2);
        //调用BigDecimal的实例方法 doubleValue()，
        //将BigDecimal类型转变为基本数据类型
        double a = c.doubleValue();
        //+1是为了表达a是浮点型，不是字符串
        System.out.println(a + 1);
    }

}
